home *** CD-ROM | disk | FTP | other *** search
- class Rand
- {
- static var v = Math.random;
- function Rand()
- {
- }
- static function midBias(min, max, i, p)
- {
- min = !isNaN(min) ? min : 0;
- max = !isNaN(max) ? max : 1;
- i = !isNaN(i) ? i + 1 : 2;
- var _loc3_ = 0;
- var _loc1_ = 0;
- while(_loc1_ < i)
- {
- _loc3_ += Rand.v() * (max - min) + min;
- _loc1_ = _loc1_ + 1;
- }
- _loc3_ /= i;
- if(p != undefined)
- {
- p = 1 / Math.pow(10,p);
- var _loc7_ = _loc3_ % p;
- if(_loc7_ <= p / 2)
- {
- _loc3_ -= _loc7_;
- }
- else
- {
- _loc3_ += p - _loc7_;
- }
- }
- return _loc3_;
- }
- static function minBias(min, max, i, p)
- {
- min = !isNaN(min) ? min : 0;
- max = !isNaN(max) ? max : 1;
- i = !isNaN(i) ? i : 1;
- var _loc1_ = (1 - Math.pow(Rand.v(),1 / (i + 1))) * (max - min) + min;
- if(p != undefined)
- {
- p = 1 / Math.pow(10,p);
- var _loc3_ = _loc1_ % p;
- if(_loc3_ <= p / 2)
- {
- _loc1_ -= _loc3_;
- }
- else
- {
- _loc1_ += p - _loc3_;
- }
- }
- return _loc1_;
- }
- static function maxBias(min, max, i, p)
- {
- min = !isNaN(min) ? min : 0;
- max = !isNaN(max) ? max : 1;
- i = !isNaN(i) ? i : 1;
- var _loc1_ = Math.pow(Rand.v(),1 / (i + 1)) * (max - min) + min;
- if(p != undefined)
- {
- p = 1 / Math.pow(10,p);
- var _loc3_ = _loc1_ % p;
- if(_loc3_ <= p / 2)
- {
- _loc1_ -= _loc3_;
- }
- else
- {
- _loc1_ += p - _loc3_;
- }
- }
- return _loc1_;
- }
- static function value()
- {
- if(arguments.length > 0)
- {
- var _loc2_ = Rand.v() * arguments.length;
- _loc2_ -= _loc2_ % 1;
- return arguments[_loc2_];
- }
- }
- static function get number()
- {
- return Rand.v();
- }
- static function random(min, max, p)
- {
- min = !isNaN(min) ? min : 0;
- max = !isNaN(max) ? max : 1;
- if(!isNaN(p))
- {
- p = 1 / Math.pow(10,p);
- max += p;
- }
- else
- {
- false;
- }
- var _loc3_ = Rand.v() * (max - min) + min;
- if(p)
- {
- _loc3_ -= _loc3_ % p;
- }
- return _loc3_;
- }
- }
-